package com.ruoyi.job.mapper;

import java.util.Date;
import java.util.List;
import com.ruoyi.job.domain.EtlScriptTask;
import com.ruoyi.job.domain.EtlTaskState;
import org.apache.ibatis.annotations.Param;

/**
 * 脚本任务Mapper接口
 * 
 * @author ruoyi
 * @date 2021-08-03
 */
public interface EtlScriptTaskMapper 
{
    /**
     * 查询脚本任务
     * 
     * @param scripttaskId 脚本任务ID
     * @return 脚本任务
     */
    public EtlScriptTask selectEtlScriptTaskById(String scripttaskId);

    /**
     * 查询脚本任务列表
     * 
     * @param etlScriptTask 脚本任务
     * @return 脚本任务集合
     */
    public List<EtlScriptTask> selectEtlScriptTaskList(EtlScriptTask etlScriptTask);

    /**
     * 新增脚本任务
     * 
     * @param etlScriptTask 脚本任务
     * @return 结果
     */
    public int insertEtlScriptTask(EtlScriptTask etlScriptTask);

    /**
     * 修改脚本任务
     * 
     * @param etlScriptTask 脚本任务
     * @return 结果
     */
    public int updateEtlScriptTask(EtlScriptTask etlScriptTask);

    /**
     * 删除脚本任务
     * 
     * @param scripttaskId 脚本任务ID
     * @return 结果
     */
    public int deleteEtlScriptTaskById(String scripttaskId);

    /**
     * 批量删除脚本任务
     * 
     * @param scripttaskIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteEtlScriptTaskByIds(String[] scripttaskIds);

    public List<EtlScriptTask> queryETLScriptTask();

    public int queryUndeal(@Param("taskId") Long taskId,@Param("taskDate") String taskDate);

    void finishETLScriptTask(@Param("status") Integer status,@Param("remark") String remark,@Param("scripttaskId") Long scripttaskId);

    void updateTaskInstAndState(@Param("taskId") Long taskId,@Param("taskDate") String taskDate,@Param("endTime") Date endTime,
                                @Param("flag") Integer flag,@Param("errorCode") int errorCode,@Param("remark") String remark);
}
